package cliente;
import comum.*;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import javax.swing.*;

/**
 *
 * @author Junior
 */
public class RN_Carta {
    private int naipe;
    private int valor;
    private boolean selecionado;
    private JButton botaoCarta;
    private ImageIcon imagemBotao;
    private ImageIcon imagemBotaoSelecionado;
    private int position;
    
    // necessita generalizacao
    private String localDasCartas = new String(CardLoader.getCardLoader().getCardURL());
    
    public RN_Carta(int naipe,int valor){
        
        this.naipe=naipe;
        this.valor=valor;
        this.imagemBotao = new ImageIcon(localDasCartas+getCartaNome()+".png");
        this.imagemBotaoSelecionado = new ImageIcon(localDasCartas+getCartaNome()+"Selecionado.png");
        this.botaoCarta = new JButton(this.imagemBotao); 
        this.selecionado = false;
    }
    
    public RN_Carta(CartaComum carta){
        this(carta.getNaipe(),carta.getValor());        
    }

    public int getNaipe() {
        return naipe;
    }

    public int getValor() {
        return valor;
    }

    public int getPosition() {
        return position;
    }

    public void setPosition(int position) {
        this.position = position;
    }

    public boolean isSelecionado() {
        return selecionado;
    }

    public void setSelecionado(boolean selecionado) {
        this.selecionado = selecionado;
    }
    
    public JButton getBotaoCarta() {
        return botaoCarta;
    }

    public ImageIcon getImagemBotao() {
        return imagemBotao;
    }

    public ImageIcon getImagemBotaoSelecionado() {
        return imagemBotaoSelecionado;
    }
    
    public String getCartaNome(){
        if(getNaipe()==0) return new String(atribuiPrioridade(valor)+"DeCopas");
        if(getNaipe()==1) return new String(atribuiPrioridade(valor)+"DeEspadas");
        if(getNaipe()==2) return new String(atribuiPrioridade(valor)+"DeOuros");
        return new String(atribuiPrioridade(valor)+"DePaus");
    }

    private int atribuiPrioridade(int valor){
        if((valor+2)%13 == 0) return 13;
        return (valor+2)%13;
    }
    
}
